IBIS Macromodel Task Group Meeting date: 03 October 2017 Members (asterisk for those attending): ANSYS: * Dan Dvorscak * Curtis Clark Broadcom (Avago): Xingdong Dai Bob Miller Cadence Design Systems: * Ambrish Varma Brad Brim Kumar Keshavan Ken Willis eASIC: David Banas Marc Kowalski Ericsson: Anders Ekholm GlobalFoundries: Steve Parker IBM Luis Armenta Trevor Timpane Intel: * Michael Mirmak Keysight Technologies: Fangyi Rao * Radek Biernacki Ming Yan Maxim Integrated Products: Hassan Rafat Mentor, A Siemens Business: John Angulo * Arpad Muranyi Micron Technology: Randy Wolff * Justin Butterfield SiSoft: * Walter Katz Todd Westerhoff * Mike LaBonte Synopsys: Rita Horner Kevin Li Teraspeed Consulting Group: Scott McMorrow Teraspeed Labs: * Bob Ross TI: Alfred Chong The meeting was led by Arpad Muranyi. Curtis Clark took the minutes. -------------------------------------------------------------------------------- Opens: - Arpad noted that future agendas would contain entries for BIRD166.4 and BIRD190 in the "Pending BIRDS awaiting discussion" section. ------------- Review of ARs: - Arpad to send BIRD158.6 draft 9 to Mike L. for posting as BIRD158.6. - Done. - Arpad to send an email to the Open Forum introducing BIRD158.6. - Done. - Mike L. to post BIRD158.6. - Done. -------------------------- Call for patent disclosure: - None. ------------------------- Review of Meeting Minutes: - Arpad: Does anyone have any comments or corrections? [none] - Walter: Motion to approve the minutes. - Dan: Second. - Arpad: Anyone opposed? [none] ------------- New Discussion: Unused port terminations in BIRD 189: - Walter: I would like to recap how package data are generated. - There are two ways one can generate S-parameter data for a package. - 1. Measure them. - 2. Solve for them - Use a field solver to extract them. - Let's say the reference impedance is 50 Ohms (just signals, no power). - When you measure a particular Sij, you need VNA probes referenced to a local ground. All of the other pins, pads, etc. of the package have a 50 Ohm resistor to ground. I sent this out in an email, and Scott McMorrow said, "No, you'd never do it, you can't physically make that test fixture". So, you make those measurements without termination of the other pins, but then you can't use the measurements as though they were 50 Ohm terminated. - If you do it with a field solver, the solver assumes everybody else is terminated at 50 Ohms (or the reference impedance of the S-parameter data). - Now, when you go to use the data, let's say you're only interested in S12, S11 (insertion and return loss) and you want to simulate that. - You can make various assumptions: - 1. Assume the reason I chose 50 Ohms is because that's what I expected to connect to. - 2. Or you can use the full s100p and leave the other terminals connected the way they really would be. It would be nice to know terminal by terminal or port by port what the connections really are. It's an approximation to say I'm going to assume it's 50 Ohms. - The point is that there's no right answer. I can assume 50 if that works, or I can assume nothing's connected. It's up to the EDA tool to make that decision. The EDA tool can say I'll just throw the other 98 terminals out and use the s2p I extract from the s100p because I know it will be good enough for what I'm doing. - There is no right answer. The EDA tool can assume 50 if that works, or it can assume nothing's connected. No matter what assumption you make, someone will be able to object to it. But sometimes it can be very convenient to make this 50 Ohm (reference impedance) approximation. - Another example, maybe you have a 200 pin connector. An s200p is pretty large and inefficient. - So they swath it and take 3 columns (or wafers) and say I'm doing these particular pins. - Instead of s200p they may deliver an s20p, and if I only need two terminals maybe I assume all the others are tied nicely to 50 Ohm traces. - That's what the industry does, and we want to let people express S-parameters using subsets of pins in a model. The EDA tool can make a choice from amongst several valid choices, each of which is an approx. - Radek: I disagree with that. - The point of the specification is to provide a consistent unambiguous interpretation of what is specified in the IBIS file. From that point of view, anything where you say, "it's up to the tool" is incorrect. - I recently looked a customer issue with an s30p, where the difference between open circuit or 50 Ohm termination was a 20dB difference on a certain Sij. So, it's wrong to let a tool choose. - We have to be clear about how the data is to be interpreted. - The original idea of having unused_port_termination defined was the correct one. If it's not specified, then the only interpretation is that the unused terminals should be open circuited. That's the definition of connectivity. - If you have a subcircuit and you only connect half the nodes to some other portion of your circuit, then the unused half are simply open-circuited. - That's exactly what we should do here if we don't provide a way for the model-maker to specify it. - The questions of how the measurements are done are irrelevant. The measurements are done to characterize the internal part of the N-port, not the external circuitry to which it's connected. - Once you have the data to define that N-port component, you can terminate it in any way to match what is actually done in your circuitry. Maybe in use it actually sees 75 Ohm or 0.1 Ohm, etc. - My original position was that if the unused_port_termination keyword is removed then we have to go with the open circuit. - Walter: I understand Radek's point. - If we want to make it unequivocal for the EDA tool, then I would not object to giving the model maker the ability to specify to either: 1. Terminate everything with an open, or 2. Terminate everything with the reference impedance. - If the model maker doesn't want either of those options, then he should wrap the S-parameter in a subcircuit. - Bob: The issue is who controls the termination. - I'm going to agree with Walter that it's the EDA tool that should control it. - The second question is what the default should be (open, or reference). - Or, should the model developer mandate the termination for whatever reason. That is, you can't use this interconnect model with anything but a reference impedance approximation for unused ports as a simplifying approximation during the simulation. In that sense, you're not really going to terminate the unused ports you're going to reduce the matrix. - Whatever we decide, the EDA tool will be allowed to override it. - Radek: The EDA tool has no knowledge about how/why that data was made in that fashion. - It's the job of the model maker that knows how to take his 100 port data and only use 4 ports. It's the job of the model maker to specify that. - If you have a connector and the person generating the data leaves some terminals unconnected, then there's no 50 Ohm termination there. Therefore, the only source of information should be the model maker who provides a component with more terminals than he wants to be used by the EDA tool. - The EDA tool can't solve the ambiguity of such unconnected terminals. - Arpad: We need to decide who is in control of terminations. - I see 3 options: - Radek says the model maker. - Bob/Walter say to it's the tool - What about the user? We have discussed the user before as well. - If we decide it's the model maker, then we just have to put back the unused_port_termination and let the model maker specify the impedance for each port. - Walter: If he puts it in a subcircuit he can do whatever he wants. - For the shortcut, I'm okay with what Radek says. We say the model maker may specify whether unused terminals are open or use the reference impedance of the port in the S-parameter. - Radek: I consider this option the least desirable, least correct option. - The first approach is the default of open circuited. - The second is that you have single reference impedance. - The third is the model maker can specify different impedance values for different ports. - This short cut we're discussing is an approximation for the third option. In general, the reference values in the file are only approximate. - In a power delivery port maybe the reference impedance is 0.1 Ohms but the actual impedance of that port is 0.01 Ohms. The difference between 0.1 and 00.1 is very reflective (magnitude 0.8). - So if you want to have a shortcut and say use the reference impedances from the file, then that is okay. The only caution that is needed is that no one should ever recalculate those S-parameter values with respect to different reference values. - If you don't maintain the integrity of the original data (say you want to re-characterize it at 75 Ohms instead of 50 Ohms reference impedance) then reading the reference values from the Touchstone file might not be good. - I don't agree with the assertion that the 50 Ohm assumption is to allow you to reduce the data. You can always reduce the data. - As to Arpad's comment about user choice. That's only applicable if you want to expose the terminal to the outside world. If you don't, then you can't leave it up to the user. - Arpad: As Walter said, if the model maker wraps the Touchstone file in an IBIS-ISS subcircuit then they can terminate everything as they want. - How much effort should we put into this shortcut syntax? - Why do we have such a big issue about what goes into this shortcut? - Why is it a problem to use the reference impedance shortcut syntax if there is a workaround for anything more general? - Radek: Say you have an s100p, and you put an S-element in your subcircuit and only have five subcircuit terminals visible to the outside world. - You can wrap it, and in this case we have to be clear that the other terminals of the S-element inside the subcircuit are all open circuited. - If you want to put resistive values inside your subcircuit you can put any value inside your subcircuit. That corresponds to the third option I described (can specify unique values for each port). - But if you wrap it in an ISS subcircuit we have no way to specify a reference impedance for any unused terminals of the S-element inside that subcircuit. But that's probably okay. - Walter: I don't care what is required, or what the default is. - I just want a mechanism that allows the EDA tool to go ahead and assume that everything that is unconnected is tied to the reference impedance of the port. - Radek and I agree that there is a functional requirement that the user be a able to use the Touchstone shortcut so that the EDA tool can legitimately do the S-parameter matrix size reduction. - The exact details around it I'm not that concerned about. - Radek: [Radek had to leave the meeting] - Arpad: Can we continue the discussion? - Michael M: It seems we still don't have clarity on the proposal. - Bob: Because of some ambiguity, we may not have understood each other. - Radek still holds the model maker should make the choice. - I hold that the EDA vendor provides options to the users. - A correctly extracted S-parameter file at 50 Ohms might be used by someone in a 65 Ohm board. - Matrix reduction is still done with 50 Ohms. - Walter: If we have a shortcut Touchstone file, and there are unused terminals, then there should be another parameter (unused_port_termination), with two options: - 1. Open circuit. - 2. Reference impedances from the Touchstone file. - First option all open circuit. Second option means you can reduce it. - Nothing prevents the EDA tool from using it with 65 Ohm terminations. - If the EDA tool does what the model says, everyone gets the same answer. - EDA tool may allow the user to do something else. - Bob: We say the EDA tool is responsible, or we make this a required parameter. - Walter: I prefer to make it a required parameter, or we can require some default behavior. - Bob: Default could be open circuit, but EDA tool could give options. - EDA tool can still give additional intelligence. - Walter: But we don't have to say that. - Bob: I think we should, because the model is complete as it is. There are no "unused terminals", we're allowing it as a shortcut. - Arpad: What about the third option to list values for each port? - Bob/Walter: No, it's too complicated. - The shortcut has nothing to do with the S-parameter. It has to do with how it's used. - Bob: We could say "reference termination" is required if you expect to do the matrix reduction. - The default could be open, but the EDA too can still provide overrides. - Walter: I don't like the default being "open" because the only reason the shortcut is provided is for reducing the matrix. I think the default should be the reference impedances from the file. - But if Radek wants the default to be Open, I'm okay with that. - If you want to add words that say, "if you specify the reference you can reduce the size of the matrix...", I'm okay with that. - Bob: Another option would be not to allow unused terminals. - Make the model maker provide the reduced matrix options. - I'm not in favor of that. - Walter: Motion to adjourn. - Bob: Second. - Arpad: Thank you all for joining. ------------- Next meeting: 10 October 2017 12:00pm PT ------------- IBIS Interconnect SPICE Wish List: 1) Simulator directives